Kā Savienot Mobilās Applikācijas ar Sportland.lv Sistēmu Izmantojot REST API

1. Autorizācija

Lai piekļūtu Sportland.lv API, jūsu mobilajai applikācijai jāveic autorizācija. Parasti šī procedūra ietver OAuth 2.0 protokolu, kurā lietotājs ievada savus akreditācijas datus, un applikācija saņem piekļuves tokenu, ko izmanto turpmākajos pieprasījumos.
Process:

  • Lietotājs ievada savus akreditācijas datus (lietotājvārdu un paroli) mobilajā aplikācijā.
  • Aplikācija nosūta šos datus uz autorizācijas serveri, izmantojot drošu savienojumu.
  • Ja dati ir pareizi, autorizācijas serveris atgriež piekļuves tokenu, kuru turpmāk izmanto visos pieprasījumos, lai autentificētu lietotāju.

2. Pieprasījumu Veikšana

Mobilā aplikācija veic dažādus pieprasījumus uz Sportland.lv API, izmantojot HTTP metodes:

GET - Datu Nolasīšana

Lai iegūtu datus, piemēram, produkta informāciju, mobilā aplikācija veic GET pieprasījumu uz attiecīgo endpointu:

  • Piemēram, lai iegūtu produkta datus, tiek veikts pieprasījums uz /api/products/{product_id}.
  • Pieprasījumā tiek iekļauts autorizācijas headeris ar piekļuves tokenu (Authorization: Bearer {access_token}).
  • Atbildē API nosūta pieprasītos datus JSON formātā.

POST - Jaunu Datu Izveide

Lai pievienotu jaunu preci pirkumu grozam vai vēlmju sarakstam, tiek veikts POST pieprasījums:

  • Piemēram, lai pievienotu preci vēlmju sarakstam, tiek veikts pieprasījums uz /api/wishlist ar produkta ID.
  • Pieprasījumā tiek iekļauts autorizācijas headeris un dati JSON formātā (Content-Type: application/json).
  • API atbild ar apstiprinājumu, ka prece ir pievienota (statusa kods 201 Created).

PUT - Esošu Datu Atjaunināšana

Lai atjauninātu esošus datus, piemēram, mainītu preces daudzumu pirkumu grozā, tiek veikts PUT pieprasījums:

  • Piemēram, lai atjauninātu preces daudzumu, tiek veikts pieprasījums uz /api/cart/{cart_item_id} ar jauno daudzumu.
  • Pieprasījumā tiek iekļauts autorizācijas headeris un atjauninātie dati JSON formātā.
  • API atbild ar apstiprinājumu par veiksmīgu atjaunināšanu (statusa kods 200 OK).

DELETE - Datu Dzēšana

Lai dzēstu preci no pirkumu groza vai vēlmju saraksta, tiek veikts DELETE pieprasījums:

  • Piemēram, lai dzēstu preci no pirkumu groza, tiek veikts pieprasījums uz /api/cart/{cart_item_id}.
  • Pieprasījumā tiek iekļauts autorizācijas headeris.
  • API atbild ar apstiprinājumu par veiksmīgu dzēšanu (statusa kods 204 No Content).

3. Kļūdu Apstrāde

Ja pieprasījums nav veiksmīgs, API atgriež atbilstošu kļūdas ziņojumu un statusa kodu:

  • Piemēram, ja produkts nav atrasts, atbilde būs 404 Not Found ar kļūdas ziņojumu.
  • Mobilā aplikācija apstrādā šīs kļūdas un sniedz atbilstošu paziņojumu lietotājam.

4. Datu Pārvaldība

Visi saņemtie dati tiek apstrādāti un attēloti mobilajā aplikācijā, lai lietotājs varētu redzēt jaunāko informāciju par produktiem, pirkumu grozu un vēlmju sarakstu. Mobilā aplikācija arī uzrauga autorizācijas tokenu derīguma termiņu un vajadzības gadījumā to atjauno.

5. REST API izmantošanas piemēri

3.1 Produkta informācijas pieprasījumi

Sportland.lv API atbild ar HTTP statusa kodu 200 OK un produkta datiem JSON formātā.

  • Atbilde ietver informāciju par produktu, piemēram, produkta ID, nosaukumu, aprakstu, cenu, valūtu un pieejamību.
  • JSON atbildes piemērs:
{
    "id": "12345",
    "name": "Nike Air Max",
    "description": "Comfortable and stylish running shoes",
    "price": 120.00,
    "currency": "EUR",
    "availability": "In Stock"
}

Gadījumā, ja produkts netiek atrasts:

  1. Sportland.lv API atbild ar HTTP statusa kodu 404 Not Found un kļūdas ziņojumu JSON formātā.
    • Atbilde ietver informāciju par kļūdu, piemēram, kļūdas ziņojumu, ka produkts nav atrasts.
    • JSON kļūdas ziņojuma piemērs:
{
    "error": "Product not found"
}
SportlandAPIMobileAppSportlandAPIMobileApp{"id": "12345","name": "Nike Air Max","description": "Comfortable and stylish running shoes","price": 120.00,"currency": "EUR","availability": "In Stock"}{"error": "Product not found"}alt[Produkts atrasts][Produkts nav atrasts]GET /api/products/{product_id} \n Authorization: Bearer {access_token} \n Accept: application/json200 OK404 Not Found
3.2 Vēlmju sarakstes pieprasījumi
3.2.2 POST - Pievienot preci vēlmju sarakstam
  • Mobilā aplikācija veic POST pieprasījumu uz /api/wishlist endpointu, lai pievienotu jaunu preci vēlmju sarakstam.
  • Pieprasījumā tiek iekļauts produkta ID JSON formātā.
  • Sportland.lv API atbild ar 201 Created un ziņojumu, ka prece ir pievienota vēlmju sarakstam.
SportlandAPIMobileAppSportlandAPIMobileApp{"message": "Product added to wishlist"}POST /api/wishlist \n Authorization: Bearer {access_token} \n Content-Type: application/json \n {\n "product_id": "12345" \n}201 Created
3.2.3 PUT - Atjaunināt vēlmju saraksta ierakstu
  • Mobilā aplikācija veic PUT pieprasījumu uz /api/wishlist/{wishlist_id} endpointu, lai atjauninātu esošu vēlmju saraksta ierakstu.
  • Pieprasījumā tiek iekļauts jauns produkta ID JSON formātā.
  • Sportland.lv API atbild ar 200 OK un ziņojumu, ka vēlmju saraksta ieraksts ir atjaunināts.
SportlandAPIMobileAppSportlandAPIMobileApp{"message": "Wishlist item updated"}PUT /api/wishlist/{wishlist_id} \n Authorization: Bearer {access_token} \n Content-Type: application/json \n {\n "product_id": "67890" \n}200 OK
3.2.1 DELETE - Dzēst preci no vēlmju saraksta
  • Mobilā aplikācija veic DELETE pieprasījumu uz /api/wishlist/{wishlist_id} endpointu, lai dzēstu preci no vēlmju saraksta.
  • Sportland.lv API atbild ar 204 No Content, ja dzēšana ir veiksmīga.
SportlandAPIMobileAppSportlandAPIMobileAppDELETE /api/wishlist/{wishlist_id} \n Authorization: Bearer {access_token}204 No Content
3.3 Pirkumu groza pieprasījumi
3.3.1 POST - Pievienot preci pirkumu grozam:
  • Mobilā aplikācija veic POST pieprasījumu uz /api/cart endpointu, lai pievienotu jaunu preci pirkumu grozam.
  • Pieprasījumā tiek iekļauts produkta ID un daudzums JSON formātā.
  • Sportland.lv API atbild ar 201 Created un ziņojumu, ka prece ir pievienota pirkumu grozam.
SportlandAPIMobileAppSportlandAPIMobileApp{"message": "Product added to cart"}POST /api/cart \n Authorization: Bearer {access_token} \n Content-Type: application/json \n {\n "product_id": "12345", "quantity": 1 \n}201 Created
3.3.2 PUT - Atjaunināt preces daudzumu pirkumu grozā:
  • Mobilā aplikācija veic PUT pieprasījumu uz /api/cart/{cart_item_id} endpointu, lai atjauninātu esošas preces daudzumu pirkumu grozā.
  • Pieprasījumā tiek iekļauts jaunais preces daudzums JSON formātā.
  • Sportland.lv API atbild ar 200 OK un ziņojumu, ka pirkumu groza ieraksts ir atjaunināts.
SportlandAPIMobileAppSportlandAPIMobileApp{"message": "Cart item updated"}PUT /api/cart/{cart_item_id} \n Authorization: Bearer {access_token} \n Content-Type: application/json \n {\n "quantity": 2 \n}200 OK
3.3.3 DELETE - Dzēst preci no pirkumu groza:
  • Mobilā aplikācija veic DELETE pieprasījumu uz /api/cart/{cart_item_id} endpointu, lai dzēstu preci no pirkumu groza.
  • Sportland.lv API atbild ar 204 No Content, ja dzēšana ir veiksmīga.
SportlandAPIMobileAppSportlandAPIMobileAppDELETE /api/cart/{cart_item_id} \n Authorization: Bearer {access_token}204 No Content

6. Rīki un Bibliotēkas HTTP Pieprasījumu Veikšanai Android un iOS Izstrādātājiem

Mobilās aplikācijas izstrādes procesā gan Android, gan iOS izstrādātāji izmanto dažādus rīkus un bibliotēkas, lai veiktu HTTP pieprasījumus uz Sportland.lv sistēmu. Šie rīki un bibliotēkas atvieglo datu apmaiņu starp aplikāciju un serveri, nodrošinot drošu un efektīvu komunikāciju.

Android Izstrādātāji

Android izstrādātāji veic HTTP pieprasījumus, izmantojot specializētas bibliotēkas un rīkus, kas nodrošina efektīvu un drošu komunikāciju ar serveriem:

  1. Izmanto HTTP klienta bibliotēkas:

    • Android izstrādātāji izmanto HTTP klienta bibliotēkas, kas palīdz vienkāršot tīkla pieprasījumu veidošanu un izpildi.
    • Šīs bibliotēkas piedāvā funkcionalitāti, piemēram, automātisku JSON atbilžu pārvēršanu Java vai Kotlin objektos, pieprasījumu un atbilžu kešatmiņu, un tīkla kļūdu apstrādi.
  2. Autorizācija un autentifikācija:

    • Pieprasījumos bieži tiek iekļauti autorizācijas dati, piemēram, piekļuves tokeni, lai nodrošinātu, ka tikai autorizēti lietotāji var piekļūt noteiktiem resursiem.
    • Izstrādātāji konfigurē pieprasījumus tā, lai tajos tiktu iekļauti nepieciešamie autorizācijas headeri un citi drošības elementi.
  3. Asinhronie pieprasījumi:

    • HTTP pieprasījumi tiek veikti asinhroni, lai lietotāja interfeiss (UI) neiekļūtu pauzē, kamēr notiek datu apmaiņa ar serveri.
    • Tas nodrošina lietotājam plūstošu un ātru pieredzi, jo aplikācija var turpināt darboties, kamēr notiek tīkla pieprasījumi fonā.

iOS Izstrādātāji

iOS izstrādātāji arī izmanto specializētus rīkus un bibliotēkas, lai veiktu HTTP pieprasījumus:

  1. Native API izmantošana:

    • iOS izstrādātāji bieži izmanto Apple nodrošinātos rīkus tīkla pieprasījumu veikšanai. Šie rīki nodrošina plašu funkcionalitāti, kas ļauj veikt drošus un efektīvus tīkla pieprasījumus.
    • Rīki piedāvā iespēju konfigurēt pieprasījumus ar nepieciešamajiem headeriem, parametriem un ķermeņa saturu.
  2. Autorizācijas pārvaldība:

    • Tāpat kā Android, arī iOS pieprasījumos bieži tiek iekļauti autorizācijas tokeni vai citi drošības elementi.
    • Izstrādātāji nodrošina, ka pieprasījumi tiek veikti droši, izmantojot HTTPS protokolu un iekļaujot nepieciešamos drošības elementus.
  3. Asinhronitāte un UI reakcija:

    • HTTP pieprasījumi tiek veikti asinhroni, lai nodrošinātu, ka lietotāja interfeiss paliek atsaucīgs un ātrs.
    • Izstrādātāji konfigurē pieprasījumus un atbilžu apstrādi tā, lai lietotājam nebūtu jāgaida pieprasījuma izpilde, un UI tiek atjaunināts tikai pēc tam, kad dati ir veiksmīgi saņemti no servera.

Vispārīgais Process

Neatkarīgi no platformas (Android vai iOS), HTTP pieprasījumu veikšanas process mobilajās aplikācijās ietver šādus soļus:

  1. Pieprasījuma sagatavošana:

    • Izstrādātāji sagatavo pieprasījumu, norādot URL, HTTP metodi (GET, POST, PUT, DELETE), nepieciešamos headerus (piemēram, autorizācijas headeru) un ķermeņa saturu, ja nepieciešams (piemēram, JSON dati).
  2. Pieprasījuma izpilde:

    • Pieprasījums tiek nosūtīts uz serveri asinhroni, lai lietotāja interfeiss paliek atsaucīgs un nesasalst pieprasījuma izpildes laikā.
  3. Atbildes apstrāde:

    • Saņemot atbildi no servera, izstrādātāji apstrādā saņemtos datus, pārbaudot statusa kodus un apstrādājot JSON atbildes vai kļūdas ziņojumus.
    • Dati tiek attēloti lietotāja interfeisā vai arī tiek veiktas citas nepieciešamās darbības, piemēram, lietotāja paziņošana par kļūdu.